package com.stacksync.syncservice.test.benchmark.normal; import java.util.Date; import java.util.Random; import java.util.UUID; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; public class CommonFunctions { public class ParentRoot { public String parentRootId; public Long fileVersion; public Long fileId; public ParentRoot(String parentRootId, Long fileVersion, Long fileId) { this.parentRootId = parentRootId; this.fileVersion = fileVersion; this.fileId = fileId; } } private static JsonArray generateChunks(int size) { JsonArray jArray = new JsonArray(); RandomString strRandom = new RandomString(20); for (int i = 0; i < size; i++) { JsonElement elem = new JsonPrimitive(strRandom.nextString()); jArray.add(elem); } return jArray; } private static JsonArray generateObjectsLevel(int numObjects, UUID deviceId, ParentRoot parentRoot) { JsonArray arrayObjects = new JsonArray(); Random random = new Random(); RandomString strRandom = new RandomString(10); for (int i = 0; i < numObjects; i++) { JsonObject file = new JsonObject(); file.addProperty("file_id", random.nextLong()); file.addProperty("version", new Long(1)); if (parentRoot != null) { file.addProperty("parent_file_version", parentRoot.fileVersion); file.addProperty("parent_file_id", parentRoot.fileId); } else { file.addProperty("parent_file_version", ""); file.addProperty("parent_file_id", ""); } Date date = new Date(); file.addProperty("updated", date.getTime()); file.addProperty("status", "NEW"); file.addProperty("lastModified", date.getTime()); file.addProperty("checksum", random.nextLong()); file.addProperty("clientName", deviceId.toString()); file.addProperty("fileSize", random.nextLong()); file.addProperty("folder", 0); file.addProperty("name", strRandom.nextString()); file.addProperty("path", strRandom.nextString()); file.addProperty("mimetype", "Text"); file.add("chunks", generateChunks(10)); arrayObjects.add(file); } return arrayObjects; } public static String generateObjects(int numObjects, UUID deviceId) { return CommonFunctions.generateObjectsLevel(numObjects, deviceId, null).toString(); } }